home *** CD-ROM | disk | FTP | other *** search
/ PC Player 2004 May / pc player 2004-05.iso / Demos / FarCry / Data1.cab / _A79EC13119234840B03464DFD8A43F06 < prev    next >
Encoding:
Text File  |  2004-01-06  |  7.4 KB  |  303 lines

  1. ; Shaders Script file
  2. ; Copyright (c) 2001-2003 Crytek Studios. All Rights Reserved.
  3. ; Author: Honich Andrey
  4.  
  5. Version (1.00)
  6.  
  7. //========================================================================
  8. // ATI R2xx / NVidia NV2X (PS.1.X and above)
  9.  
  10. // Specular and diffuse bump-mapping
  11. // without normalization cube-maps: using pixel shader instruction dp3x2
  12. // One pass for single light source (one pass for each additional LS)
  13. Shader 'TemplBumpSpec_NOCM'
  14. (
  15.   Params
  16.   (
  17.     Sort = Opaque
  18.   )
  19.   
  20.  
  21.   //=========================================================================
  22.  
  23.   // Technique 'NoLights'
  24.   HW 'Seq'
  25.   (
  26.     Conditions
  27.     {
  28.       NoLights
  29.     }
  30.  
  31.     // Only Ambient pass
  32.     #define COMBINER CGRCAmbient
  33.     #include "AmbPass_VP.csi"
  34.     #undefine COMBINER
  35.   )
  36.  
  37.   HW 'Seq'
  38.   (
  39.     Conditions
  40.     {
  41.       SingleLight
  42.     }
  43.  
  44.     Light 'Specular'
  45.     (
  46.       ShadeLayer
  47.       (
  48.         CGVProgram = CGVProgBump_DiffSpec_NOCM
  49.         CGVPParam ( Name = LightPos Comp 'OSLightPos[0]' Comp 'OSLightPos[1]' Comp 'OSLightPos[2]' Comp=1)
  50.         CGVPParam ( Name = CameraPos Comp 'OSCameraPos pos 0' Comp 'OSCameraPos pos 1' Comp 'OSCameraPos pos 2')
  51.  
  52.         CGPShader = CGRCBump_DiffSpec_SingleLight_PS
  53.         CGPSParam ( Name = Specular Comp 'SpecLightColor[0]'  Comp 'SpecLightColor[1]' Comp 'SpecLightColor[2]' Comp = 1 )
  54.         CGPSParam ( Name = Diffuse Comp 'LightColor[0]'  Comp 'LightColor[1]' Comp 'LightColor[2]' Comp 'LightColor[3]' )
  55.         CGPSParam ( Name = Ambient Comp 'AmbLightColor[0]'  Comp 'AmbLightColor[1]' Comp 'AmbLightColor[2]' Comp = 1 )
  56.  
  57.         Layer '0'
  58.         (
  59.           Map = $Bump
  60.           TexType = Bumpmap
  61.           TexColorOp = NoSet
  62.         )
  63.  
  64.         Layer '1'
  65.         (
  66.           Map = $None
  67.           TexColorOp = NoSet
  68.         )
  69.  
  70.         Layer '2'
  71.         (
  72.           Map = $Phong
  73.           TexColorOp = NoSet
  74.         )
  75.  
  76.         Layer '3'
  77.         (
  78.           Map = $Diffuse
  79.           TexColorOp = NoSet
  80.         )
  81.       )
  82.     )
  83.   )
  84.  
  85.   HW 'Seq'
  86.   (
  87.     Conditions
  88.     {
  89.       MultipleLights
  90.     }
  91.  
  92.     // Only Ambient pass
  93.     #define COMBINER CGRCAmbient
  94.     #include "AmbPass_VP.csi"
  95.     #undefine COMBINER
  96.     
  97.     Light 'Specular'
  98.     (
  99.       ShadeLayer
  100.       (
  101.         CGVProgram = CGVProgBump_DiffSpec_NOCM
  102.         CGVPParam ( Name = LightPos Comp 'OSLightPos[0]' Comp 'OSLightPos[1]' Comp 'OSLightPos[2]' Comp=1)
  103.         CGVPParam ( Name = CameraPos Comp 'OSCameraPos pos 0' Comp 'OSCameraPos pos 1' Comp 'OSCameraPos pos 2')
  104.  
  105.         CGPShader = CGRCBump_DiffSpec_MultipleLight_PS
  106.         CGPSParam ( Name = Specular Comp 'SpecLightColor[0]'  Comp 'SpecLightColor[1]' Comp 'SpecLightColor[2]' Comp = 1 )
  107.         CGPSParam ( Name = Diffuse  Comp 'LightColor[0]'  Comp 'LightColor[1]' Comp 'LightColor[2]' Comp 'LightColor[3]' )
  108.  
  109.         Layer '0'
  110.         (
  111.           Map = $Bump
  112.           TexType = Bumpmap
  113.           TexColorOp = NoSet
  114.         )
  115.  
  116.         Layer '1'
  117.         (
  118.           Map = $None
  119.           TexColorOp = NoSet
  120.         )
  121.  
  122.         Layer '2'
  123.         (
  124.           Map = $Phong
  125.           TexColorOp = NoSet
  126.         )
  127.  
  128.         Layer '3'
  129.         (
  130.           SecondPassRendState
  131.           {
  132.             DepthWrite = 0
  133.             DepthFunc = Equal
  134.  
  135.             Blend (ONE ONE)
  136.           }
  137.           Map = $Diffuse
  138.           TexColorOp = NoSet
  139.         )
  140.       )
  141.     )
  142.   )
  143. )
  144.  
  145.  
  146. //===============================================================================================
  147.  
  148. Shader 'TemplBrushedMetal'
  149. (
  150.   Params
  151.   (
  152.     //Cull = TwoSided
  153.     //TessSize = 16
  154.   )
  155.   // Technique 'NoLights'
  156.   HW 'Seq'
  157.   (
  158.     Conditions
  159.     {
  160.       NoLights
  161.     }
  162.  
  163.     // Only Ambient pass
  164.     ShadeLayer
  165.     (         
  166.       Conditions
  167.       {
  168.         Ambient
  169.       }
  170.  
  171.       CGVProgram = CGVProgSimple_Tex
  172.  
  173.       CGPShader = CGRCAmbient
  174.       CGPSParam ( Name = Ambient Comp 'AmbLightColor[0]'  Comp 'AmbLightColor[1]' Comp 'AmbLightColor[2]' Comp=1 )
  175.  
  176.       Layer '0'
  177.       (
  178.         Map = $Diffuse
  179.         TexColorOp = NoSet
  180.       )               
  181.     )
  182.   )
  183.  
  184.   HW 'Seq'
  185.   (
  186.     Conditions
  187.     {
  188.       SingleLight
  189.       MultipleLights
  190.     }
  191.  
  192.     FirstLight 'Specular'
  193.     (
  194.       ShadeLayer
  195.       (
  196.         CGVProgram = CGVProg_BrushedMetal
  197.         CGVPParam ( Name = LightPos Comp 'OSLightPos[0]' Comp 'OSLightPos[1]' Comp 'OSLightPos[2]' Comp=1)
  198.         CGVPParam ( Name = CameraPos Comp 'OSCameraPos pos 0' Comp 'OSCameraPos pos 1' Comp 'OSCameraPos pos 2')
  199.  
  200.         CGPShader = CGRCBrushedMetal
  201.         CGPSParam ( Name = Diffuse Comp 'LightColor[0]'  Comp 'LightColor[1]' Comp 'LightColor[2]' Comp 'LightColor[3]' )
  202.         CGPSParam ( Name = Ambient Comp 'AmbLightColor[0]'  Comp 'AmbLightColor[1]' Comp 'AmbLightColor[2]' Comp 'Opacity' )
  203.         CGPSParam ( Name = Specular Comp 'SpecLightColor[0]'  Comp 'SpecLightColor[1]' Comp 'SpecLightColor[2]' Comp = 1 )
  204.         Layer '0'
  205.         (
  206.           Map = $Bump
  207.           TexType = Bumpmap
  208.           TexColorOp = NoSet
  209.         )
  210.         Layer '1'
  211.         (
  212.           Map = $None
  213.           TexColorOp = NoSet
  214.         )
  215.         Layer '2'
  216.         (
  217.           Map = Defaults/silvergradient
  218.           ClampTexCoords
  219.           TexColorOp = NoSet
  220.         )
  221.         Layer '3'
  222.         (
  223.           Map = $Diffuse
  224.           TexColorOp = NoSet
  225.         )
  226.       )
  227.     )
  228.   )
  229. )
  230.  
  231. //====================================================================================================
  232.  
  233. Shader 'BumpSunGlow'
  234. (
  235.   Public
  236.   (
  237.     float 'WaveAmplitude' (0.0)
  238.   )
  239.   Params
  240.   (
  241.     //Cull = TwoSided
  242.     Sort = WaterBeach
  243.     //PolygonOffset
  244.     //TessSize = 16
  245.   )
  246. #ifdef NV1X
  247.   HW
  248.   (    
  249.     ShadeLayer
  250.     (      
  251.     )
  252.   )
  253. #endif
  254. #ifdef OTHER
  255.   HW 'Seq'
  256.   (
  257.     Light
  258.     (         
  259.       ShadeLayer
  260.       (
  261.         CGVProgram = CGVProgBumpSunGlow
  262.         CGVPParam ( Name = NoisePos Comp 'time 0.6' Comp 'time 0.6' Comp = 0 User 'WaveAmplitude') // xy = wavepos, z = 0, w = amplitude
  263.         CGVPParam ( Name = CameraPos Comp 'OSCameraPos pos 0' Comp 'OSCameraPos pos 1' Comp 'OSCameraPos pos 2' Comp = 0.15)
  264.         CGVPParam ( Name = TexShiftRipple Comp 'time 0.06' Comp 'time 0.12')  // xy = ripple uv ADDer
  265.         CGVPParam ( Name = LightPos Comp 'OSLightPos[0]' Comp 'OSLightPos[1]' Comp 'OSLightPos[2]' Comp=1)
  266.         CGVPParam ( Name = TexGenRipple0 Comp = 0.125 Comp = 0 Comp = 0 Comp 'CameraPos pos 0 / 8')  // Ripple texgen
  267.         CGVPParam ( Name = TexGenRipple1 Comp = 0 Comp = 0.125 Comp = 0 Comp 'CameraPos pos 1 / 8')  // Ripple texgen
  268.         CGVPParam ( Name = Normal Comp = 0 Comp = 0 Comp = 1)  // Normal
  269.         CGVPParam ( Name = Tangent Comp = 0 Comp = -1 Comp = 0 ) // Tangent
  270.  
  271.         CGPShader = CGRCBumpSunGlow
  272.         CGPSParam ( Name = Specular Comp 'SpecLightColor[0]'  Comp 'SpecLightColor[1]' Comp 'SpecLightColor[2]' Comp = 1 )
  273.  
  274.         Layer '0'
  275.         (
  276.           TexType = Bumpmap
  277.           Map = test8
  278.           /*BumpHighRes
  279.           BumpAmount = 10
  280.           TexLodBias = 1
  281.           Sequence (Maps = textures/animated/water/caust## Time = 0.05 Loop)*/
  282.           TexColorOp = NoSet
  283.         )
  284.  
  285.         Layer '1'
  286.         (
  287.           Map = $None
  288.           TexColorOp = NoSet
  289.         )
  290.  
  291.         Layer '2'
  292.         (
  293.           //Blend 'ONE ONE'        
  294.           Map = $Phong100
  295.           TexLodBias = 1
  296.           TexColorOp = NoSet
  297.         )
  298.       )
  299.     )
  300.   )
  301. #endif
  302. )
  303.